package com.foreveross.taskservice.taskcache;

import com.foreveross.taskservice.common.model.AbstractTaskModel;
/**
 * 任务回滚的时候执行的兑换接口
 * @author Administrator
 *
 * @param <T>
 */
public interface TaskRollbackConvertorApplication<T extends AbstractTaskModel> {
	/**
	 * 返回具体操作模型的类
	 * @return
	 */
	public Class<T> getTaskModelClass();
	/**
	 * 将回滚的任务和内存中的任务进行属性兑换
	 * 保持内存任务得到实时的正确更新，某些属性则不可以更新
	 * 具体看业务
	 * 调用接口后，redis保存的是cacheTask
	 * @param rollTask 回滚任务
	 * @param cacheTask 内存中的任务
	 * @throws Exception
	 */
	public void conver(T rollTask,T cacheTask )throws Exception;
}
